package com.stark.wechat.service.user.model;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 获取用户列表响应
 *
 * @author <a href="mailto:mengbin@hotmail.com">Ben</a>
 * @version 1.0.0
 * @see <a href="https://developers.weixin.qq.com/doc/service/api/usermanage/userinfo/api_getfans.html#%E8%BF%94%E5%9B%9E%E4%BD%93-Response-Payload">用户管理 / 用户信息 / 获取关注用户列表</a>
 * @since 2024/5/27
 */
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class GetFansResponsePayload implements Serializable {

    private static final long serialVersionUID = -8899916762494300301L;

    /**
     * 关注该公众账号的总用户数
     */
    private long total;

    /**
     * 拉取的OPENID个数，最大值为10000
     */
    private int count;

    /**
     * 列表数据，OPENID的列表
     */
    private Data data;

    /**
     * 拉取列表的最后一个用户的OPENID
     */
    @JsonProperty("next_openid")
    private String nextOpenid;

    /**
     * 列表数据，OPENID的列表
     */
    @lombok.Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class Data implements Serializable {

        private static final long serialVersionUID = 1685277951423763822L;

        /**
         * 用户openid列表
         */
        private List<String> openid = new ArrayList<>();

    }

}
